#pragma once

#include "../common/StringHelper.hpp"
#include "../common/message.pb.h"
#include "../common/Log.hpp"
#include <string>
#include <unordered_map>
#include <memory>

namespace micromq
{
    struct Binding
    {
        using ptr = std::shared_ptr<Binding>;

        Binding()
        {}

        Binding(const std::string& exchangeName, const std::string& msgQueueName, const std::string& bindingKey, bool durable)
            : _exchangeName(exchangeName), _msgQueueName(msgQueueName), _bindingKey(bindingKey), _durable(durable)
        {}

        ~Binding()
        {}

        std::string _exchangeName;
        std::string _msgQueueName;
        std::string _bindingKey;
        bool _durable;
    };
}